#include <iostream>
using namespace std;

class AA
{
public:
    AA():aa(0)
    {
        cout << "AA():" << aa << endl;
    }
    AA(int a)
        : aa(a)
    {
        cout << "AA(int):" << aa << endl;
    }

    AA(const AA &s)
    {
        aa = s.aa;
        cout << "AA(const AA&)" << endl;
    }

    AA& operator = (const AA &s)
    {
        aa = s.aa;
        cout << "operator=" << endl;
        return *this;
    }

    ~AA()
    {
        cout << "~AA()" << endl;
    }
private:
    int aa;
};

int main(int argc, char *argv[])
{
    AA a;
    a = AA(10);
    (void)a;
    return 0;
}
